home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 526-550 / disk_545 / drawmap / src.lzh / drawmap-menu.h < prev    next >
C/C++ Source or Header  |  1991-09-13  |  23KB  |  635 lines

  1. /* file drawmap-menu.h */
  2.  
  3. /* ================ Project Menu ===================== */
  4.  
  5. #define PROJECT 0
  6.  
  7. #define HELP 0
  8. #define SAVEIT 1
  9. #define SAVE_CONFIG 2
  10. #define PRINT 3
  11. #define CLEARS 4
  12. #define QUIT 5
  13.  
  14. /* ================ Maps Menu ===================== */
  15.  
  16. #define MAPS 1
  17.  
  18. #define PLANE 0
  19.  
  20. #define FLAT 0
  21. #define MERCATOR 1
  22.  
  23. #define SPHERE 1
  24.  
  25. #define GLOBE 0
  26. #define ORBITAL 1
  27. #define ZOOM_IN 2
  28. #define ZOOM_OUT 3
  29.  
  30. #define BOXES 2
  31.  
  32. #define BOX 0
  33. #define BOX_ZOOM_IN 1
  34. #define BOX_ZOOM_OUT 2
  35.  
  36. /* ================ Colors Menu ===================== */
  37.  
  38. #define COLORS 2
  39.  
  40. #define PALETTE 0
  41. #define FLOOD_COLOR 1
  42. #define LINE_COLOR 2
  43. #define TEXT_COLOR 3
  44. #define RESET_COLOR 4
  45.  
  46. /* ================ Edit Menu ===================== */
  47.  
  48. #define EDIT 3
  49.  
  50. #define GRID 0
  51. #define FLOOD 1
  52. #define DRAW_LINE 2
  53. #define SHADOW 3
  54. #define TEXT 4
  55. #define TTOGGLE 5
  56.  
  57. /* ================ MenuItem Widths ===================== */
  58.  
  59. #define MWIDTH_PROJECT  (8*13+10+COMMWIDTH)
  60. #define MWIDTH_MAPS     (8*7+10+COMMWIDTH)
  61. #define MWIDTH_COLORS   (8*13+10+COMMWIDTH)
  62. #define MWIDTH_EDIT     (8*13+10+COMMWIDTH)
  63. #define MWIDTH_PLANE    (8*9+10+COMMWIDTH)
  64. #define MWIDTH_MERCATOR (8*9+10+COMMWIDTH)
  65. #define MWIDTH_GLOBE    (8*9+10+COMMWIDTH)
  66. #define MWIDTH_SPHERE   (8*9+10+COMMWIDTH)
  67. #define MWIDTH_BOXES    (8*13+10+COMMWIDTH)
  68. #define COLOR_HEIGHT    10
  69. #define COLOR_WIDTH     (CHECKWIDTH+COLOR_HEIGHT+5)
  70.  
  71. /* =============== MenuItem comparison values =============== */
  72.  
  73. #define HELP_TYPE         ((100*PROJECT+HELP)*100)
  74. #define PRINT_TYPE        ((100*PROJECT+PRINT)*100)
  75. #define CLEARS_TYPE       ((100*PROJECT+CLEARS)*100)
  76. #define FLAT_TYPE         ((100*MAPS+PLANE)*100+FLAT)
  77. #define MERCATOR_TYPE     ((100*MAPS+PLANE)*100+MERCATOR)
  78. #define GLOBE_TYPE        ((100*MAPS+SPHERE)*100+GLOBE)
  79. #define ORBITAL_TYPE      ((100*MAPS+SPHERE)*100+ORBITAL)
  80. #define ZOOM_IN_TYPE      ((100*MAPS+SPHERE)*100+ZOOM_IN)
  81. #define ZOOM_OUT_TYPE     ((100*MAPS+SPHERE)*100+ZOOM_OUT)
  82. #define BOX_TYPE          ((100*MAPS+BOXES)*100+BOX)
  83. #define BOX_ZOOM_IN_TYPE  ((100*MAPS+BOXES)*100+BOX_ZOOM_IN)
  84. #define BOX_ZOOM_OUT_TYPE ((100*MAPS+BOXES)*100+BOX_ZOOM_OUT)
  85. #define PALETTE_TYPE      ((100*COLORS+PALETTE)*100)
  86. #define FLOOD_COLOR_TYPE  ((100*COLORS+FLOOD_COLOR)*100)
  87. #define LINE_COLOR_TYPE   ((100*COLORS+LINE_COLOR)*100)
  88. #define TEXT_COLOR_TYPE   ((100*COLORS+TEXT_COLOR)*100)
  89. #define RESET_COLOR_TYPE  ((100*COLORS+RESET_COLOR)*100)
  90. #define FLOOD_TYPE        ((100*EDIT+FLOOD)*100)
  91. #define DRAW_LINE_TYPE    ((100*EDIT+DRAW_LINE)*100)
  92. #define SHADOW_TYPE       ((100*EDIT+SHADOW)*100)
  93. #define TEXT_TYPE         ((100*EDIT+TEXT)*100)
  94.  
  95. /* ======================== IntuiTexts ==================== */
  96.  
  97. struct IntuiText text_PROJECT[] = {
  98.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Help",         NULL },
  99.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Save Map",     NULL },
  100.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Save Config",  NULL },
  101.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Print Map",    NULL },
  102.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Clear Screen", NULL },
  103.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Quit",         NULL }
  104. };
  105.  
  106. struct IntuiText text_MAPS[] = {
  107.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Plane",  NULL },
  108.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Sphere", NULL },
  109.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Boxes",  NULL }
  110. };
  111.  
  112. struct IntuiText text_MAPS_PLANE[] = {
  113.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Flat",     NULL },
  114.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Mercator", NULL }
  115. };
  116.  
  117. struct IntuiText text_MAPS_SPHERE[] = {
  118.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Globe",    NULL },
  119.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Orbital",  NULL },
  120.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Zoom In",  NULL },
  121.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Zoom Out", NULL }
  122. };
  123.  
  124. struct IntuiText text_MAPS_BOXES[] = {
  125.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Box",          NULL },
  126.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Box Zoom In",  NULL },
  127.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Box Zoom Out", NULL }
  128. };
  129.  
  130. struct IntuiText text_COLORS[] = {
  131.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Palette",      NULL },
  132.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Flood Color",  NULL },
  133.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Line Color",   NULL },
  134.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Text Color",   NULL },
  135.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Reset Colors", NULL }
  136. };
  137.  
  138. struct IntuiText text_EDIT[] = {
  139.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Grid",         NULL },
  140.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Flood Fill",   NULL },
  141.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Draw Line",    NULL },
  142.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Shadow",       NULL },
  143.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Text",         NULL },
  144.    { 0,1,JAM1, 0,1, NULL, (UBYTE *)" Toggle Title", NULL }
  145. };
  146.  
  147. /* =================== Menu Subitem Color Images =============== */
  148.  
  149. struct Image image[] = {
  150.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0000, NULL },
  151.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0001, NULL },
  152.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0002, NULL },
  153.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0003, NULL },
  154.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0004, NULL },
  155.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0005, NULL },
  156.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0006, NULL },
  157.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0007, NULL },
  158.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0008, NULL },
  159.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x0009, NULL },
  160.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000a, NULL },
  161.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000b, NULL },
  162.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000c, NULL },
  163.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000d, NULL },
  164.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000e, NULL },
  165.    { 0,0, COLOR_WIDTH,COLOR_HEIGHT, 0, NULL, 0x0000, 0x000f, NULL }
  166. };
  167.  
  168. /* ======================== Menu SubItems ==================== */
  169.  
  170. struct MenuItem subitem_COLORS_FLOOD_COLOR[] = {
  171.  
  172.    { &subitem_COLORS_FLOOD_COLOR[1],
  173.      MWIDTH_COLORS,0, COLOR_WIDTH,COLOR_HEIGHT,
  174.      ITEMENABLED | HIGHBOX | CHECKIT,
  175.      (LONG) (~(1<<0)), (APTR)&image[0], (APTR)&image[0],
  176.      NULL, NULL, MENUNULL },
  177.  
  178.    { &subitem_COLORS_FLOOD_COLOR[2],
  179.      MWIDTH_COLORS+COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  180.      ITEMENABLED | HIGHBOX | CHECKIT,
  181.      (LONG) (~(1<<1)), (APTR)&image[1], (APTR)&image[1],
  182.      NULL, NULL, MENUNULL },
  183.  
  184.    { &subitem_COLORS_FLOOD_COLOR[3],
  185.      MWIDTH_COLORS+2*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  186.      ITEMENABLED | HIGHBOX | CHECKIT,
  187.      (LONG) (~(1<<2)), (APTR)&image[2], (APTR)&image[2],
  188.      NULL, NULL, MENUNULL },
  189.  
  190.    { &subitem_COLORS_FLOOD_COLOR[4],
  191.      MWIDTH_COLORS+3*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  192.      ITEMENABLED | HIGHBOX | CHECKIT,
  193.      (LONG) (~(1<<3)), (APTR)&image[3], (APTR)&image[3],
  194.      NULL, NULL, MENUNULL },
  195.  
  196.    { &subitem_COLORS_FLOOD_COLOR[5],
  197.      MWIDTH_COLORS,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  198.      ITEMENABLED | HIGHBOX | CHECKIT,
  199.      (LONG) (~(1<<4)), (APTR)&image[4], (APTR)&image[4],
  200.      NULL, NULL, MENUNULL },
  201.  
  202.    { &subitem_COLORS_FLOOD_COLOR[6],
  203.      MWIDTH_COLORS+COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  204.      ITEMENABLED | HIGHBOX | CHECKIT | CHECKED,
  205.      (LONG) (~(1<<5)), (APTR)&image[5], (APTR)&image[5],
  206.      NULL, NULL, MENUNULL },
  207.  
  208.    { &subitem_COLORS_FLOOD_COLOR[7],
  209.      MWIDTH_COLORS+2*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  210.      ITEMENABLED | HIGHBOX | CHECKIT,
  211.      (LONG) (~(1<<6)), (APTR)&image[6], (APTR)&image[6],
  212.      NULL, NULL, MENUNULL },
  213.  
  214.    { &subitem_COLORS_FLOOD_COLOR[8],
  215.      MWIDTH_COLORS+3*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  216.      ITEMENABLED | HIGHBOX | CHECKIT,
  217.      (LONG) (~(1<<7)), (APTR)&image[7], (APTR)&image[7],
  218.      NULL, NULL, MENUNULL },
  219.  
  220.    { &subitem_COLORS_FLOOD_COLOR[9],
  221.      MWIDTH_COLORS,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  222.      ITEMENABLED | HIGHBOX | CHECKIT,
  223.      (LONG) (~(1<<8)), (APTR)&image[8], (APTR)&image[8],
  224.      NULL, NULL, MENUNULL },
  225.  
  226.    { &subitem_COLORS_FLOOD_COLOR[10],
  227.      MWIDTH_COLORS+COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  228.      ITEMENABLED | HIGHBOX | CHECKIT,
  229.      (LONG) (~(1<<9)), (APTR)&image[9], (APTR)&image[9],
  230.      NULL, NULL, MENUNULL },
  231.  
  232.    { &subitem_COLORS_FLOOD_COLOR[11],
  233.      MWIDTH_COLORS+2*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  234.      ITEMENABLED | HIGHBOX | CHECKIT,
  235.      (LONG) (~(1<<10)), (APTR)&image[10], (APTR)&image[10],
  236.      NULL, NULL, MENUNULL },
  237.  
  238.    { &subitem_COLORS_FLOOD_COLOR[12],
  239.      MWIDTH_COLORS+3*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  240.      ITEMENABLED | HIGHBOX | CHECKIT,
  241.      (LONG) (~(1<<11)), (APTR)&image[11], (APTR)&image[11],
  242.      NULL, NULL, MENUNULL },
  243.  
  244.    { &subitem_COLORS_FLOOD_COLOR[13],
  245.      MWIDTH_COLORS,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  246.      ITEMENABLED | HIGHBOX | CHECKIT,
  247.      (LONG) (~(1<<12)), (APTR)&image[12], (APTR)&image[12],
  248.      NULL, NULL, MENUNULL },
  249.  
  250.    { &subitem_COLORS_FLOOD_COLOR[14],
  251.      MWIDTH_COLORS+COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  252.      ITEMENABLED | HIGHBOX | CHECKIT,
  253.      (LONG) (~(1<<13)), (APTR)&image[13], (APTR)&image[13],
  254.      NULL, NULL, MENUNULL },
  255.  
  256.    { &subitem_COLORS_FLOOD_COLOR[15],
  257.      MWIDTH_COLORS+2*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  258.      ITEMENABLED | HIGHBOX | CHECKIT,
  259.      (LONG) (~(1<<14)), (APTR)&image[14], (APTR)&image[14],
  260.      NULL, NULL, MENUNULL },
  261.  
  262.    { NULL,
  263.      MWIDTH_COLORS+3*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  264.      ITEMENABLED | HIGHBOX | CHECKIT,
  265.      (LONG) (~(1<<15)), (APTR)&image[15], (APTR)&image[15],
  266.      NULL, NULL, MENUNULL }
  267.  
  268. };
  269.  
  270. /* ================================================================= */
  271.  
  272. struct MenuItem subitem_COLORS_LINE_COLOR[] = {
  273.  
  274.    { &subitem_COLORS_LINE_COLOR[1],
  275.      MWIDTH_COLORS,0, COLOR_WIDTH,COLOR_HEIGHT,
  276.      ITEMENABLED | HIGHBOX | CHECKIT,
  277.      (LONG) (~(1<<0)), (APTR)&image[0], (APTR)&image[0],
  278.      NULL, NULL, MENUNULL },
  279.  
  280.    { &subitem_COLORS_LINE_COLOR[2],
  281.      MWIDTH_COLORS+COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  282.      ITEMENABLED | HIGHBOX | CHECKIT,
  283.      (LONG) (~(1<<1)), (APTR)&image[1], (APTR)&image[1],
  284.      NULL, NULL, MENUNULL },
  285.  
  286.    { &subitem_COLORS_LINE_COLOR[3],
  287.      MWIDTH_COLORS+2*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  288.      ITEMENABLED | HIGHBOX | CHECKIT,
  289.      (LONG) (~(1<<2)), (APTR)&image[2], (APTR)&image[2],
  290.      NULL, NULL, MENUNULL },
  291.  
  292.    { &subitem_COLORS_LINE_COLOR[4],
  293.      MWIDTH_COLORS+3*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  294.      ITEMENABLED | HIGHBOX | CHECKIT,
  295.      (LONG) (~(1<<3)), (APTR)&image[3], (APTR)&image[3],
  296.      NULL, NULL, MENUNULL },
  297.  
  298.    { &subitem_COLORS_LINE_COLOR[5],
  299.      MWIDTH_COLORS,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  300.      ITEMENABLED | HIGHBOX | CHECKIT,
  301.      (LONG) (~(1<<4)), (APTR)&image[4], (APTR)&image[4],
  302.      NULL, NULL, MENUNULL },
  303.  
  304.    { &subitem_COLORS_LINE_COLOR[6],
  305.      MWIDTH_COLORS+COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  306.      ITEMENABLED | HIGHBOX | CHECKIT,
  307.      (LONG) (~(1<<5)), (APTR)&image[5], (APTR)&image[5],
  308.      NULL, NULL, MENUNULL },
  309.  
  310.    { &subitem_COLORS_LINE_COLOR[7],
  311.      MWIDTH_COLORS+2*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  312.      ITEMENABLED | HIGHBOX | CHECKIT,
  313.      (LONG) (~(1<<6)), (APTR)&image[6], (APTR)&image[6],
  314.      NULL, NULL, MENUNULL },
  315.  
  316.    { &subitem_COLORS_LINE_COLOR[8],
  317.      MWIDTH_COLORS+3*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  318.      ITEMENABLED | HIGHBOX | CHECKIT,
  319.      (LONG) (~(1<<7)), (APTR)&image[7], (APTR)&image[7],
  320.      NULL, NULL, MENUNULL },
  321.  
  322.    { &subitem_COLORS_LINE_COLOR[9],
  323.      MWIDTH_COLORS,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  324.      ITEMENABLED | HIGHBOX | CHECKIT | CHECKED,
  325.      (LONG) (~(1<<8)), (APTR)&image[8], (APTR)&image[8],
  326.      NULL, NULL, MENUNULL },
  327.  
  328.    { &subitem_COLORS_LINE_COLOR[10],
  329.      MWIDTH_COLORS+COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  330.      ITEMENABLED | HIGHBOX | CHECKIT,
  331.      (LONG) (~(1<<9)), (APTR)&image[9], (APTR)&image[9],
  332.      NULL, NULL, MENUNULL },
  333.  
  334.    { &subitem_COLORS_LINE_COLOR[11],
  335.      MWIDTH_COLORS+2*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  336.      ITEMENABLED | HIGHBOX | CHECKIT,
  337.      (LONG) (~(1<<10)), (APTR)&image[10], (APTR)&image[10],
  338.      NULL, NULL, MENUNULL },
  339.  
  340.    { &subitem_COLORS_LINE_COLOR[12],
  341.      MWIDTH_COLORS+3*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  342.      ITEMENABLED | HIGHBOX | CHECKIT,
  343.      (LONG) (~(1<<11)), (APTR)&image[11], (APTR)&image[11],
  344.      NULL, NULL, MENUNULL },
  345.  
  346.    { &subitem_COLORS_LINE_COLOR[13],
  347.      MWIDTH_COLORS,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  348.      ITEMENABLED | HIGHBOX | CHECKIT,
  349.      (LONG) (~(1<<12)), (APTR)&image[12], (APTR)&image[12],
  350.      NULL, NULL, MENUNULL },
  351.  
  352.    { &subitem_COLORS_LINE_COLOR[14],
  353.      MWIDTH_COLORS+COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  354.      ITEMENABLED | HIGHBOX | CHECKIT,
  355.      (LONG) (~(1<<13)), (APTR)&image[13], (APTR)&image[13],
  356.      NULL, NULL, MENUNULL },
  357.  
  358.    { &subitem_COLORS_LINE_COLOR[15],
  359.      MWIDTH_COLORS+2*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  360.      ITEMENABLED | HIGHBOX | CHECKIT,
  361.      (LONG) (~(1<<14)), (APTR)&image[14], (APTR)&image[14],
  362.      NULL, NULL, MENUNULL },
  363.  
  364.    { NULL,
  365.      MWIDTH_COLORS+3*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  366.      ITEMENABLED | HIGHBOX | CHECKIT,
  367.      (LONG) (~(1<<15)), (APTR)&image[15], (APTR)&image[15],
  368.      NULL, NULL, MENUNULL }
  369.  
  370. };
  371.  
  372. /* ================================================================= */
  373.  
  374. struct MenuItem subitem_COLORS_TEXT_COLOR[] = {
  375.  
  376.    { &subitem_COLORS_TEXT_COLOR[1],
  377.      MWIDTH_COLORS,0, COLOR_WIDTH,COLOR_HEIGHT,
  378.      ITEMENABLED | HIGHBOX | CHECKIT,
  379.      (LONG) (~(1<<0)), (APTR)&image[0], (APTR)&image[0],
  380.      NULL, NULL, MENUNULL },
  381.  
  382.    { &subitem_COLORS_TEXT_COLOR[2],
  383.      MWIDTH_COLORS+COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  384.      ITEMENABLED | HIGHBOX | CHECKIT | CHECKED,
  385.      (LONG) (~(1<<1)), (APTR)&image[1], (APTR)&image[1],
  386.      NULL, NULL, MENUNULL },
  387.  
  388.    { &subitem_COLORS_TEXT_COLOR[3],
  389.      MWIDTH_COLORS+2*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  390.      ITEMENABLED | HIGHBOX | CHECKIT,
  391.      (LONG) (~(1<<2)), (APTR)&image[2], (APTR)&image[2],
  392.      NULL, NULL, MENUNULL },
  393.  
  394.    { &subitem_COLORS_TEXT_COLOR[4],
  395.      MWIDTH_COLORS+3*COLOR_WIDTH,0, COLOR_WIDTH,COLOR_HEIGHT,
  396.      ITEMENABLED | HIGHBOX | CHECKIT,
  397.      (LONG) (~(1<<3)), (APTR)&image[3], (APTR)&image[3],
  398.      NULL, NULL, MENUNULL },
  399.  
  400.    { &subitem_COLORS_TEXT_COLOR[5],
  401.      MWIDTH_COLORS,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  402.      ITEMENABLED | HIGHBOX | CHECKIT,
  403.      (LONG) (~(1<<4)), (APTR)&image[4], (APTR)&image[4],
  404.      NULL, NULL, MENUNULL },
  405.  
  406.    { &subitem_COLORS_TEXT_COLOR[6],
  407.      MWIDTH_COLORS+COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  408.      ITEMENABLED | HIGHBOX | CHECKIT,
  409.      (LONG) (~(1<<5)), (APTR)&image[5], (APTR)&image[5],
  410.      NULL, NULL, MENUNULL },
  411.  
  412.    { &subitem_COLORS_TEXT_COLOR[7],
  413.      MWIDTH_COLORS+2*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  414.      ITEMENABLED | HIGHBOX | CHECKIT,
  415.      (LONG) (~(1<<6)), (APTR)&image[6], (APTR)&image[6],
  416.      NULL, NULL, MENUNULL },
  417.  
  418.    { &subitem_COLORS_TEXT_COLOR[8],
  419.      MWIDTH_COLORS+3*COLOR_WIDTH,COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  420.      ITEMENABLED | HIGHBOX | CHECKIT,
  421.      (LONG) (~(1<<7)), (APTR)&image[7], (APTR)&image[7],
  422.      NULL, NULL, MENUNULL },
  423.  
  424.    { &subitem_COLORS_TEXT_COLOR[9],
  425.      MWIDTH_COLORS,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  426.      ITEMENABLED | HIGHBOX | CHECKIT,
  427.      (LONG) (~(1<<8)), (APTR)&image[8], (APTR)&image[8],
  428.      NULL, NULL, MENUNULL },
  429.  
  430.    { &subitem_COLORS_TEXT_COLOR[10],
  431.      MWIDTH_COLORS+COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  432.      ITEMENABLED | HIGHBOX | CHECKIT,
  433.      (LONG) (~(1<<9)), (APTR)&image[9], (APTR)&image[9],
  434.      NULL, NULL, MENUNULL },
  435.  
  436.    { &subitem_COLORS_TEXT_COLOR[11],
  437.      MWIDTH_COLORS+2*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  438.      ITEMENABLED | HIGHBOX | CHECKIT,
  439.      (LONG) (~(1<<10)), (APTR)&image[10], (APTR)&image[10],
  440.      NULL, NULL, MENUNULL },
  441.  
  442.    { &subitem_COLORS_TEXT_COLOR[12],
  443.      MWIDTH_COLORS+3*COLOR_WIDTH,2*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  444.      ITEMENABLED | HIGHBOX | CHECKIT,
  445.      (LONG) (~(1<<11)), (APTR)&image[11], (APTR)&image[11],
  446.      NULL, NULL, MENUNULL },
  447.  
  448.    { &subitem_COLORS_TEXT_COLOR[13],
  449.      MWIDTH_COLORS,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  450.      ITEMENABLED | HIGHBOX | CHECKIT,
  451.      (LONG) (~(1<<12)), (APTR)&image[12], (APTR)&image[12],
  452.      NULL, NULL, MENUNULL },
  453.  
  454.    { &subitem_COLORS_TEXT_COLOR[14],
  455.      MWIDTH_COLORS+COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  456.      ITEMENABLED | HIGHBOX | CHECKIT,
  457.      (LONG) (~(1<<13)), (APTR)&image[13], (APTR)&image[13],
  458.      NULL, NULL, MENUNULL },
  459.  
  460.    { &subitem_COLORS_TEXT_COLOR[15],
  461.      MWIDTH_COLORS+2*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  462.      ITEMENABLED | HIGHBOX | CHECKIT,
  463.      (LONG) (~(1<<14)), (APTR)&image[14], (APTR)&image[14],
  464.      NULL, NULL, MENUNULL },
  465.  
  466.    { NULL,
  467.      MWIDTH_COLORS+3*COLOR_WIDTH,3*COLOR_HEIGHT, COLOR_WIDTH,COLOR_HEIGHT,
  468.      ITEMENABLED | HIGHBOX | CHECKIT,
  469.      (LONG) (~(1<<15)), (APTR)&image[15], (APTR)&image[15],
  470.      NULL, NULL, MENUNULL }
  471.  
  472. };
  473.  
  474. /* ================================================================= */
  475.  
  476. struct MenuItem subitem_MAPS_PLANE[] = {
  477.  
  478.    { &subitem_MAPS_PLANE[1], MWIDTH_MAPS,10*FLAT, MWIDTH_MERCATOR,10,
  479.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  480.      0, (APTR)&text_MAPS_PLANE[0], NULL, 'F', NULL, MENUNULL },
  481.  
  482.    { NULL,                   MWIDTH_MAPS,10*MERCATOR, MWIDTH_MERCATOR,10,
  483.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  484.      0, (APTR)&text_MAPS_PLANE[1], NULL, 'M', NULL, MENUNULL }
  485.  
  486. };
  487.  
  488. struct MenuItem subitem_MAPS_SPHERE[] = {
  489.  
  490.    { &subitem_MAPS_SPHERE[1], MWIDTH_MAPS,10*GLOBE, MWIDTH_GLOBE,10,
  491.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  492.      0, (APTR)&text_MAPS_SPHERE[0], NULL, 'G', NULL, MENUNULL },
  493.  
  494.    { &subitem_MAPS_SPHERE[2], MWIDTH_MAPS,10*ORBITAL, MWIDTH_GLOBE,10,
  495.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  496.      0, (APTR)&text_MAPS_SPHERE[1], NULL, 'O', NULL, MENUNULL },
  497.  
  498.    { &subitem_MAPS_SPHERE[3], MWIDTH_MAPS,10*ZOOM_IN, MWIDTH_GLOBE,10,
  499.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  500.      0, (APTR)&text_MAPS_SPHERE[2], NULL, NULL, NULL, MENUNULL },
  501.  
  502.    { NULL,                    MWIDTH_MAPS,10*ZOOM_OUT, MWIDTH_GLOBE,10,
  503.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  504.      0, (APTR)&text_MAPS_SPHERE[3], NULL, NULL, NULL, MENUNULL }
  505.  
  506. };
  507.  
  508. struct MenuItem subitem_MAPS_BOXES[] = {
  509.  
  510.    { &subitem_MAPS_BOXES[1], MWIDTH_MAPS,10*BOX, MWIDTH_BOXES,10,
  511.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  512.      0, (APTR)&text_MAPS_BOXES[0], NULL, 'B', NULL, MENUNULL },
  513.  
  514.    { &subitem_MAPS_BOXES[2], MWIDTH_MAPS,10*BOX_ZOOM_IN, MWIDTH_BOXES,10,
  515.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  516.      0, (APTR)&text_MAPS_BOXES[1], NULL, NULL, NULL, MENUNULL },
  517.  
  518.    { NULL,                   MWIDTH_MAPS,10*BOX_ZOOM_OUT, MWIDTH_BOXES,10,
  519.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  520.      0, (APTR)&text_MAPS_BOXES[2], NULL, NULL, NULL, MENUNULL }
  521.  
  522. };
  523.  
  524. /* ======================== MenuItems ==================== */
  525.  
  526. struct MenuItem menuitem_PROJECT[] = {
  527.  
  528.    { &menuitem_PROJECT[1], 0,10*HELP, MWIDTH_PROJECT,10,
  529.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  530.      0, (APTR)&text_PROJECT[0], NULL, 'H', NULL, MENUNULL },
  531.  
  532.    { &menuitem_PROJECT[2], 0,10*SAVEIT, MWIDTH_PROJECT,10,
  533.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  534.      0, (APTR)&text_PROJECT[1], NULL, 'S', NULL, MENUNULL },
  535.  
  536.    { &menuitem_PROJECT[3], 0,10*SAVE_CONFIG, MWIDTH_PROJECT,10,
  537.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  538.      0, (APTR)&text_PROJECT[2], NULL, NULL, NULL, MENUNULL },
  539.  
  540.    { &menuitem_PROJECT[4], 0,10*PRINT, MWIDTH_PROJECT,10,
  541.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  542.      0, (APTR)&text_PROJECT[3], NULL, NULL, NULL, MENUNULL },
  543.  
  544.    { &menuitem_PROJECT[5], 0,10*CLEARS, MWIDTH_PROJECT,10,
  545.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  546.      0, (APTR)&text_PROJECT[4], NULL, 'C', NULL, MENUNULL },
  547.  
  548.    { NULL,                 0,10*QUIT, MWIDTH_PROJECT,10,
  549.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  550.      0, (APTR)&text_PROJECT[5], NULL, 'Q', NULL, MENUNULL }
  551.  
  552. };
  553.  
  554. struct MenuItem menuitem_MAPS[] = {
  555.  
  556.    { &menuitem_MAPS[1], 0,10*PLANE, MWIDTH_MAPS,10,
  557.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  558.      0, (APTR)&text_MAPS[0], NULL, NULL, &subitem_MAPS_PLANE[0], MENUNULL },
  559.  
  560.    { &menuitem_MAPS[2], 0,10*SPHERE, MWIDTH_MAPS,10,
  561.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  562.      0, (APTR)&text_MAPS[1], NULL, NULL, &subitem_MAPS_SPHERE[0], MENUNULL },
  563.  
  564.    { NULL,              0,10*BOXES, MWIDTH_MAPS,10,
  565.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  566.      0, (APTR)&text_MAPS[2], NULL, NULL, &subitem_MAPS_BOXES[0], MENUNULL }
  567.  
  568. };
  569.  
  570. struct MenuItem menuitem_COLORS[] = {
  571.  
  572.    { &menuitem_COLORS[1], 0,10*PALETTE, MWIDTH_COLORS,10,
  573.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  574.      0, (APTR)&text_COLORS[0], NULL, 'P', NULL, MENUNULL },
  575.  
  576.    { &menuitem_COLORS[2], 0,10*FLOOD_COLOR, MWIDTH_COLORS,10,
  577.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  578.      0, (APTR)&text_COLORS[1], NULL, NULL, &subitem_COLORS_FLOOD_COLOR[0],
  579.      MENUNULL },
  580.  
  581.    { &menuitem_COLORS[3], 0,10*LINE_COLOR, MWIDTH_COLORS,10,
  582.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  583.      0, (APTR)&text_COLORS[2], NULL, NULL, &subitem_COLORS_LINE_COLOR[0],
  584.      MENUNULL },
  585.  
  586.    { &menuitem_COLORS[4], 0,10*TEXT_COLOR, MWIDTH_COLORS,10,
  587.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  588.      0, (APTR)&text_COLORS[3], NULL, NULL, &subitem_COLORS_TEXT_COLOR[0],
  589.      MENUNULL },
  590.  
  591.    { NULL,                0,10*RESET_COLOR, MWIDTH_COLORS,10,
  592.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  593.      0, (APTR)&text_COLORS[4], NULL, 'R', NULL, MENUNULL }
  594.  
  595. };
  596.  
  597. struct MenuItem menuitem_EDIT[] = {
  598.  
  599.    { &menuitem_EDIT[1], 0,10*GRID, MWIDTH_EDIT,10,
  600.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  601.      0, (APTR)&text_EDIT[0], NULL, NULL, NULL, MENUNULL },
  602.  
  603.    { &menuitem_EDIT[2], 0,10*FLOOD, MWIDTH_EDIT,10,
  604.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  605.      0, (APTR)&text_EDIT[1], NULL, NULL, NULL, MENUNULL },
  606.  
  607.    { &menuitem_EDIT[3], 0,10*DRAW_LINE, MWIDTH_EDIT,10,
  608.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  609.      0, (APTR)&text_EDIT[2], NULL, NULL, NULL, MENUNULL },
  610.  
  611.    { &menuitem_EDIT[4], 0,10*SHADOW, MWIDTH_EDIT,10,
  612.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  613.      0, (APTR)&text_EDIT[3], NULL, NULL, NULL, MENUNULL },
  614.  
  615.    { &menuitem_EDIT[5], 0,10*TEXT, MWIDTH_EDIT,10,
  616.      ITEMTEXT | ITEMENABLED | HIGHCOMP,
  617.      0, (APTR)&text_EDIT[4], NULL, NULL, NULL, MENUNULL },
  618.  
  619.    { NULL,              0,10*TTOGGLE, MWIDTH_EDIT,10,
  620.      ITEMTEXT | ITEMENABLED | HIGHCOMP | COMMSEQ,
  621.      0, (APTR)&text_EDIT[5], NULL, 'T', NULL, MENUNULL }
  622.  
  623. };
  624.  
  625. /* ======================== Menus ==================== */
  626.  
  627. struct Menu menu[] = {
  628.  
  629.    { &menu[1],   0,0, 75,0, MENUENABLED, " Project", &menuitem_PROJECT[0] },
  630.    { &menu[2],  85,0, 50,0, MENUENABLED, " Maps",    &menuitem_MAPS[0] },
  631.    { &menu[3], 140,0, 65,0, MENUENABLED, " Colors",  &menuitem_COLORS[0] },
  632.    { NULL,     220,0, 50,0, MENUENABLED, " Edit",    &menuitem_EDIT[0] }
  633.  
  634. };
  635.